package ar.com.algotres.tpdos.modelo.fisica;

public class BloqueNave {

	private Estado estado;
	private Integer ordenBloque;
	private Posicion posicion;

	public BloqueNave(Posicion posicion, Estado estado, Integer orden) {
		super();
		this.posicion = posicion;
		this.estado = estado;
		ordenBloque = orden;
	}

	@Override
	public boolean equals(Object obj) {
		if (obj == null) {
			return false;
		}
		BloqueNave other = (BloqueNave) obj;
		return posicion.equals(other.posicion);
	}

	public boolean estasAveriado() {
		return Estado.IMPACTADA.equals(estado);
	}

	public boolean estasEn(Posicion posicion) {
		return posicion.equals(this.posicion);
	}

	public void explosionEn(Posicion posicion) {
		if (this.posicion.equals(posicion)) {
			estado = Estado.IMPACTADA;
		}
	}

	public Estado getEstado() {
		return estado;
	}

	public Integer getOrden() {
		return ordenBloque;
	}

	public Posicion getPosicion() {
		return posicion;
	}

	@Override
	public String toString() {
		return posicion.toString() + " Estado = " + estado + ", Orden="
				+ ordenBloque;
	}
}
